package com.tudu.day02.test;

/**
 *                   普通类     抽象类     接口类
 *                        【关系】        【特点】
 *     类与类               继承          只能单继承、可以多层继承
 *     类与抽象类           继承           可以单继承，不可以多继承
 *     抽象类与抽象类        继承           只能单继承、可以多层继承
 *     类与接口             实现           可以单继承，也可以多实现
 *                                        并且继承同时实现多个接口
 *     接口与接口           继承           可以单继承，可以多继承
 */
/*作业1：抽象类与接口区别和关系？简单*/
//联系:
     //   1.都可以用于实现面向对象编程中的多态特性.
      //  2.都可以包含抽象方法,需要被子类实现.
      //  3.都不能被实例化,只能被子类继承和实现.
       // 区别:
      //  1.抽象类可以包含非抽象方法,而接口只能包含抽象方法.
    //    2.抽象类可以包含成员变量,而接口只能包含常量(public static final).
     //   3.一个类只能继承一个抽象类,但可以实现多个接口.
     //   4.抽象类的方法可以有访问修饰符，而接口的方法默认为public。
     //   5.接口中的方法都是抽象的，不能有方法的实现，而抽象类中可以有方法的实现。
       // 6.接口中不能有静态方法和静态变量，而抽象类中可以有。

//5.接口与接口     继承    可以单继承，可以多继承
interface Loo{}    interface Foo{}
interface Voo extends Loo,Foo{}



//4.类与接口：实现   ---可以单继承，也可以多继承
//  interface  Loo{}     interface Foo{}
//class Joo{}
//class Voo extends Joo implements Loo,Foo{}


//3.抽象类与抽象类：继承 -只能单继承  可以多层继承
//abstract class Loo{}
//abstract class Voo extends Loo{}
//abstract class Uoo extends Voo{}

//2.类与抽象类：继承
//  abstract class Uoo{} abstract class Voo{}
//class Loo extends Uoo,Voo{}


//1.类与类：继承--单继承
//  class Uoo{}
//class Loo extends Uoo{}
//class Voo extends Loo{}
public class 关系 {
}